1. Field of the Invention
The field of the invention relates to accessing a data store in response to access requests and to maintaining data consistency while allowing some reordering of the access requests.
2. Description of the Prior Art
In order to be able to improve performance, data processing apparatus have been developed that allow transactions to be performed in parallel with each other and in a different order to the order they might appear in the original instruction stream. In order for this reordering to be allowable and not create data hazards, various schemes have been devised to ensure data consistency. One of these schemes involves the use of barrier transactions that are inserted into a transaction stream and that do not allow at least some transactions behind the barrier to be performed before at least some transactions in front of the barrier.
A disadvantage with a barrier transaction is that it can cause transactions behind it to stall while those in front of it complete. This can be a particular problem where a following transaction is a high priority transaction.
In order to terminate a barrier and allow the following transactions to proceed safely without allowing data hazards to occur one can simply flush all outstanding transactions preceding the barrier and allow them to complete which can be very slow, or one can keep a record of all these outstanding transactions and not allow any transactions to proceed which would cause a data hazard with any of the outstanding transactions. The determination of which transactions are safe to allow to proceed and which not is expensive in hardware.
It would be desirable to be able to terminate barriers without too large a latency or hardware cost.